home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / drivers / vastar.c < prev    next >
C/C++ Source or Header  |  2000-04-04  |  15KB  |  458 lines

  1. /***************************************************************************
  2.  
  3. Vastar memory map (preliminary)
  4.  
  5. driver by Allard Van Der Bas
  6.  
  7. CPU #1:
  8.  
  9. 0000-7fff ROM
  10. 8000-83ff bg #1 attribute RAM
  11. 8800-8bff bg #1 video RAM
  12. 8c00-8fff bg #1 color RAM
  13. 9000-93ff bg #2 attribute RAM
  14. 9800-9bff bg #2 video RAM
  15. 9c00-9fff bg #2 color RAM
  16. a000-a3ff used only during startup - it's NOT a part of the RAM test
  17. c400-c7ff fg color RAM
  18. c800-cbff fg attribute RAM
  19. cc00-cfff fg video RAM
  20. f000-f7ff RAM (f000-f0ff is shared with CPU #2)
  21.  
  22. read:
  23. e000      ???
  24.  
  25. write:
  26. c410-c41f sprites
  27. c430-c43f sprites
  28. c7c0-c7df bg #2 scroll
  29. c7e0-c7ff bg #1 scroll
  30. c810-c81f sprites
  31. c830-c83f sprites
  32. cc10-cc1f sprites
  33. cc30-cc3f sprites
  34. e000      ???
  35.  
  36. I/O:
  37. read:
  38.  
  39. write:
  40. 02        0 = hold CPU #2?
  41.  
  42. CPU #2:
  43.  
  44. 0000-1fff ROM
  45. 4000-43ff RAM (shared with CPU #1)
  46.  
  47. read:
  48. 8000      IN1
  49. 8040      IN0
  50. 8080      IN2
  51.  
  52. write:
  53.  
  54. I/O:
  55. read:
  56. 02        8910 read (port A = DSW0 port B = DSW1)
  57.  
  58. write:
  59. 00        8910 control
  60. 01        8910 write
  61.  
  62. ***************************************************************************/
  63.  
  64. #include "driver.h"
  65. #include "vidhrdw/generic.h"
  66.  
  67.  
  68.  
  69. extern unsigned char *vastar_bg1colorram2, *vastar_sprite_priority;
  70. extern unsigned char *vastar_fgvideoram,*vastar_fgcolorram1,*vastar_fgcolorram2;
  71. extern unsigned char *vastar_bg2videoram,*vastar_bg2colorram1,*vastar_bg2colorram2;
  72. extern unsigned char *vastar_bg1scroll,*vastar_bg2scroll;
  73.  
  74. WRITE_HANDLER( vastar_bg1colorram2_w );
  75. WRITE_HANDLER( vastar_bg2videoram_w );
  76. WRITE_HANDLER( vastar_bg2colorram1_w );
  77. WRITE_HANDLER( vastar_bg2colorram2_w );
  78. void vastar_vh_convert_color_prom(unsigned char *palette, unsigned short *colortable,const unsigned char *color_prom);
  79. int vastar_vh_start(void);
  80. void vastar_vh_stop(void);
  81. void vastar_vh_screenrefresh(struct osd_bitmap *bitmap,int full_refresh);
  82.  
  83. extern unsigned char *vastar_sharedram;
  84. void vastar_init_machine(void);
  85. WRITE_HANDLER( vastar_hold_cpu2_w );
  86. READ_HANDLER( vastar_sharedram_r );
  87. WRITE_HANDLER( vastar_sharedram_w );
  88.  
  89.  
  90.  
  91. static struct MemoryReadAddress readmem[] =
  92. {
  93.     { 0x0000, 0x7fff, MRA_ROM },
  94.     { 0x8000, 0x83ff, MRA_RAM },
  95.     { 0x8800, 0x8fff, MRA_RAM },
  96.     { 0x9000, 0x93ff, MRA_RAM },
  97.     { 0x9800, 0x9fff, MRA_RAM },
  98.     { 0xc400, 0xcfff, MRA_RAM },
  99.     { 0xe000, 0xe000, MRA_RAM },    /* ?? */
  100.     { 0xf000, 0xf0ff, vastar_sharedram_r },
  101.     { 0xf100, 0xf7ff, MRA_RAM },
  102.     { -1 }    /* end of table */
  103. };
  104.  
  105. static struct MemoryWriteAddress writemem[] =
  106. {
  107.     { 0x0000, 0x7fff, MWA_ROM },
  108.     { 0x8000, 0x83ff, vastar_bg1colorram2_w, &vastar_bg1colorram2 },
  109.     { 0x8800, 0x8bff, videoram_w, &videoram, &videoram_size },
  110.     { 0x8c00, 0x8fff, colorram_w, &colorram },
  111.     { 0x9000, 0x93ff, vastar_bg2colorram2_w, &vastar_bg2colorram2 },
  112.     { 0x9800, 0x9bff, vastar_bg2videoram_w, &vastar_bg2videoram },
  113.     { 0x9c00, 0x9fff, vastar_bg2colorram1_w, &vastar_bg2colorram1 },
  114.     { 0xc000, 0xc000, MWA_RAM, &vastar_sprite_priority },    /* sprite/BG priority */
  115.     { 0xc400, 0xc7ff, MWA_RAM, &vastar_fgcolorram1 },
  116.     { 0xc800, 0xcbff, MWA_RAM, &vastar_fgcolorram2 },
  117.     { 0xcc00, 0xcfff, MWA_RAM, &vastar_fgvideoram },
  118.     { 0xe000, 0xe000, MWA_RAM },    /* ?? */
  119.     { 0xf000, 0xf0ff, vastar_sharedram_w, &vastar_sharedram },
  120.     { 0xf100, 0xf7ff, MWA_RAM },
  121.  
  122.     /* in hidden portions of video RAM: */
  123.     { 0xc400, 0xc43f, MWA_RAM, &spriteram, &spriteram_size },    /* actually c410-c41f and c430-c43f */
  124.     { 0xc7c0, 0xc7df, MWA_RAM, &vastar_bg2scroll },
  125.     { 0xc7e0, 0xc7ff, MWA_RAM, &vastar_bg1scroll },
  126.     { 0xc800, 0xc83f, MWA_RAM, &spriteram_2 },    /* actually c810-c81f and c830-c83f */
  127.     { 0xcc00, 0xcc3f, MWA_RAM, &spriteram_3 },    /* actually cc10-cc1f and cc30-cc3f */
  128.     { -1 }    /* end of table */
  129. };
  130.  
  131.  
  132. static struct IOWritePort writeport[] =
  133. {
  134.     { 0x00, 0x00, interrupt_enable_w },
  135.     { 0x02, 0x02, vastar_hold_cpu2_w },
  136.     { -1 }    /* end of table */
  137. };
  138.  
  139.  
  140. static struct MemoryReadAddress cpu2_readmem[] =
  141. {
  142.     { 0x0000, 0x1fff, MRA_ROM },
  143.     { 0x4000, 0x40ff, vastar_sharedram_r },
  144.     { 0x8000, 0x8000, input_port_1_r },
  145.     { 0x8040, 0x8040, input_port_0_r },
  146.     { 0x8080, 0x8080, input_port_2_r },
  147.     { -1 }    /* end of table */
  148. };
  149.  
  150. static struct MemoryWriteAddress cpu2_writemem[] =
  151. {
  152.     { 0x0000, 0x1fff, MWA_ROM },
  153.     { 0x4000, 0x40ff, vastar_sharedram_w },
  154.     { -1 }    /* end of table */
  155. };
  156.  
  157. static struct IOReadPort cpu2_readport[] =
  158. {
  159.     { 0x02, 0x02, AY8910_read_port_0_r },
  160.     { -1 }    /* end of table */
  161. };
  162.  
  163. static struct IOWritePort cpu2_writeport[] =
  164. {
  165.     { 0x00, 0x00, AY8910_control_port_0_w },
  166.     { 0x01, 0x01, AY8910_write_port_0_w },
  167.     { -1 }    /* end of table */
  168. };
  169.  
  170.  
  171.  
  172. INPUT_PORTS_START( vastar )
  173.     PORT_START    /* IN0 */
  174.     PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_8WAY )
  175.     PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY )
  176.     PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_8WAY )
  177.     PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_8WAY )
  178.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
  179.     PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 )
  180.     PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
  181.     PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
  182.  
  183.     PORT_START    /* IN1 */
  184.     PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
  185.     PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
  186.     PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
  187.     PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
  188.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_COCKTAIL )
  189.     PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_COCKTAIL )
  190.     PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
  191.     PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
  192.  
  193.     PORT_START
  194.     PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
  195.     PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 )
  196.     PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN3 )
  197.     PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START1 )
  198.     PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_START2 )
  199.     PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
  200.     PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
  201.     PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
  202.  
  203.     PORT_START    /* DSW0 */
  204.     PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
  205.     PORT_DIPSETTING(    0x03, "3" )
  206.     PORT_DIPSETTING(    0x02, "4" )
  207.     PORT_DIPSETTING(    0x01, "5" )
  208.     PORT_DIPSETTING(    0x00, "6" )
  209.     PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
  210.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  211.     PORT_DIPSETTING(    0x04, DEF_STR( On ) )
  212.     PORT_DIPNAME( 0x08, 0x08, "Show Author Credits" )
  213.     PORT_DIPSETTING(    0x08, DEF_STR( No ) )
  214.     PORT_DIPSETTING(    0x00, DEF_STR( Yes ) )
  215.     PORT_BITX(    0x10, 0x10, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Slow Motion", IP_KEY_NONE, IP_JOY_NONE )
  216.     PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
  217.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  218.     PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
  219.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  220.     PORT_DIPSETTING(    0x20, DEF_STR( On ) )
  221.     PORT_DIPNAME( 0x40, 0x00, DEF_STR( Cabinet ) )
  222.     PORT_DIPSETTING(    0x00, DEF_STR( Upright ) )
  223.     PORT_DIPSETTING(    0x40, DEF_STR( Cocktail ) )
  224.     PORT_DIPNAME( 0x80, 0x80, "Freeze" )
  225.     PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
  226.     PORT_DIPSETTING(    0x00, DEF_STR( On ) )
  227.  
  228.     PORT_START    /* DSW1 */
  229.     PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) )
  230.     PORT_DIPSETTING(    0x02, DEF_STR( 2C_1C ) )
  231.     PORT_DIPSETTING(    0x01, DEF_STR( 3C_2C ) )
  232.     PORT_DIPSETTING(    0x07, DEF_STR( 1C_1C ) )
  233.     PORT_DIPSETTING(    0x06, DEF_STR( 1C_2C ) )
  234.     PORT_DIPSETTING(    0x05, DEF_STR( 1C_3C ) )
  235.     PORT_DIPSETTING(    0x04, DEF_STR( 1C_4C ) )
  236.     PORT_DIPSETTING(    0x03, DEF_STR( 1C_6C ) )
  237.     PORT_DIPSETTING(    0x00, DEF_STR( Free_Play ) )
  238.     PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) )
  239.     PORT_DIPSETTING(    0x00, DEF_STR( 5C_1C ) )
  240.     PORT_DIPSETTING(    0x08, DEF_STR( 4C_1C ) )
  241.     PORT_DIPSETTING(    0x10, DEF_STR( 3C_1C ) )
  242.     PORT_DIPSETTING(    0x18, DEF_STR( 2C_1C ) )
  243.     PORT_DIPSETTING(    0x38, DEF_STR( 1C_1C ) )
  244.     PORT_DIPSETTING(    0x20, DEF_STR( 3C_4C ) )
  245.     PORT_DIPSETTING(    0x30, DEF_STR( 1C_2C ) )
  246.     PORT_DIPSETTING(    0x28, DEF_STR( 1C_3C ) )
  247.     PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
  248.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  249.     PORT_DIPSETTING(    0x40, DEF_STR( On ) )
  250.     PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
  251.     PORT_DIPSETTING(    0x00, DEF_STR( Off ) )
  252.     PORT_DIPSETTING(    0x80, DEF_STR( On ) )
  253. INPUT_PORTS_END
  254.  
  255.  
  256.  
  257. static struct GfxLayout charlayout =
  258. {
  259.     8,8,    /* 8*8 characters */
  260.     512,    /* 512 characters */
  261.     2,    /* 2 bits per pixel */
  262.     { 0, 4 },    /* the two bitplanes are packed in one byte */
  263.     { 0, 1, 2, 3, 8*8+0, 8*8+1, 8*8+2, 8*8+3 },
  264.     { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  265.     16*8    /* every char takes 16 consecutive bytes */
  266. };
  267.  
  268. static struct GfxLayout spritelayout =
  269. {
  270.     16,16,    /* 16*16 sprites */
  271.     256,    /* 256 sprites */
  272.     2,    /* 2 bits per pixel */
  273.     { 0, 4 },
  274.     { 0, 1, 2, 3, 8*8+0, 8*8+1, 8*8+2, 8*8+3,
  275.             16*8+0, 16*8+1, 16*8+2, 16*8+3, 24*8+0, 24*8+1, 24*8+2, 24*8+3 },
  276.     { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
  277.             32*8, 33*8, 34*8, 35*8, 36*8, 37*8, 38*8, 39*8 },
  278.     64*8    /* every sprite takes 64 consecutive bytes */
  279. };
  280.  
  281. static struct GfxLayout spritelayoutdw =
  282. {
  283.     16,32,    /* 16*32 sprites */
  284.     128,    /* 128 sprites */
  285.     2,    /* 2 bits per pixel */
  286.     { 0, 4 },
  287.     { 0, 1, 2, 3, 8*8+0, 8*8+1, 8*8+2, 8*8+3,
  288.             16*8+0, 16*8+1, 16*8+2, 16*8+3, 24*8+0, 24*8+1, 24*8+2, 24*8+3 },
  289.     { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8,
  290.             32*8, 33*8, 34*8, 35*8, 36*8, 37*8, 38*8, 39*8,
  291.             64*8, 65*8, 66*8, 67*8, 68*8, 69*8, 70*8, 71*8,
  292.             96*8, 97*8, 98*8, 99*8, 100*8, 101*8, 102*8, 103*8 },
  293.     128*8    /* every sprite takes 64 consecutive bytes */
  294. };
  295.  
  296. static struct GfxLayout tilelayout =
  297. {
  298.     8,8,    /* 8*8 tiles */
  299.     512,    /* 512 tiles */
  300.     2,    /* 4 bits per pixel */
  301.     { 0, 4 },
  302.     { 0, 1, 2, 3, 8*8+0, 8*8+1, 8*8+2, 8*8+3 },
  303.     { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 },
  304.     16*8    /* every sprite takes 64 consecutive bytes */
  305. };
  306.  
  307. static struct GfxDecodeInfo gfxdecodeinfo[] =
  308. {
  309.     { REGION_GFX1, 0, &charlayout,     0, 64 },
  310.     { REGION_GFX2, 0, &spritelayout,   0, 64 },
  311.     { REGION_GFX2, 0, &spritelayoutdw, 0, 64 },
  312.     { REGION_GFX3, 0, &tilelayout,     0, 64 },
  313.     { REGION_GFX4, 0, &tilelayout,     0, 64 },
  314.     { -1 } /* end of array */
  315. };
  316.  
  317.  
  318.  
  319. static struct AY8910interface ay8910_interface =
  320. {
  321.     1,    /* 1 chip */
  322.     1500000,    /* 1.5 MHz??????? */
  323.     { 50 },
  324.     { input_port_3_r },
  325.     { input_port_4_r },
  326.     { 0 },
  327.     { 0 }
  328. };
  329.  
  330.  
  331.  
  332. static struct MachineDriver machine_driver_vastar =
  333. {
  334.     /* basic machine hardware */
  335.     {
  336.         {
  337.             CPU_Z80,
  338.             3072000,    /* 3.072 Mhz ???? */
  339.             readmem,writemem,0,writeport,
  340.             nmi_interrupt,1
  341.         },
  342.         {
  343.             CPU_Z80,
  344.             3072000,    /* 3.072 Mhz ???? */
  345.             cpu2_readmem,cpu2_writemem,cpu2_readport,cpu2_writeport,
  346.             interrupt,4    /* ??? */
  347.         }
  348.     },
  349.     60, DEFAULT_60HZ_VBLANK_DURATION,    /* frames per second, vblank duration */
  350.     10,    /* 10 CPU slices per frame - seems enough to ensure proper */
  351.             /* synchronization of the CPUs */
  352.     vastar_init_machine,
  353.  
  354.     /* video hardware */
  355.     32*8, 32*8, { 0*8, 32*8-1, 2*8, 30*8-1 },
  356.     gfxdecodeinfo,
  357.     256, 256,
  358.     vastar_vh_convert_color_prom,
  359.  
  360.     VIDEO_TYPE_RASTER,
  361.     0,
  362.     vastar_vh_start,
  363.     vastar_vh_stop,
  364.     vastar_vh_screenrefresh,
  365.  
  366.     /* sound hardware */
  367.     0,0,0,0,
  368.     {
  369.         {
  370.             SOUND_AY8910,
  371.             &ay8910_interface
  372.         }
  373.     }
  374. };
  375.  
  376.  
  377.  
  378. /***************************************************************************
  379.  
  380.   Game driver(s)
  381.  
  382. ***************************************************************************/
  383.  
  384. ROM_START( vastar )
  385.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for code */
  386.     ROM_LOAD( "e_f4.rom",     0x0000, 0x1000, 0x45fa5075 )
  387.     ROM_LOAD( "e_k4.rom",     0x1000, 0x1000, 0x84531982 )
  388.     ROM_LOAD( "e_h4.rom",     0x2000, 0x1000, 0x94a4f778 )
  389.     ROM_LOAD( "e_l4.rom",     0x3000, 0x1000, 0x40e4d57b )
  390.     ROM_LOAD( "e_j4.rom",     0x4000, 0x1000, 0xbd607651 )
  391.     ROM_LOAD( "e_n4.rom",     0x5000, 0x1000, 0x7a3779a4 )
  392.     ROM_LOAD( "e_n7.rom",     0x6000, 0x1000, 0x31b6be39 )
  393.     ROM_LOAD( "e_n5.rom",     0x7000, 0x1000, 0xf63f0e78 )
  394.  
  395.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the second CPU */
  396.     ROM_LOAD( "e_f2.rom",     0x0000, 0x1000, 0x713478d8 )
  397.     ROM_LOAD( "e_j2.rom",     0x1000, 0x1000, 0xe4535442 )
  398.  
  399.     ROM_REGION( 0x2000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  400.     ROM_LOAD( "c_c9.rom",     0x0000, 0x2000, 0x34f067b6 )
  401.  
  402.     ROM_REGION( 0x4000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  403.     ROM_LOAD( "c_f7.rom",     0x0000, 0x2000, 0xedbf3b13 )
  404.     ROM_LOAD( "c_f9.rom",     0x2000, 0x2000, 0x8f309e22 )
  405.  
  406.     ROM_REGION( 0x2000, REGION_GFX3 | REGIONFLAG_DISPOSE )
  407.     ROM_LOAD( "c_n4.rom",     0x0000, 0x2000, 0xb5f9c866 )
  408.  
  409.     ROM_REGION( 0x2000, REGION_GFX4 | REGIONFLAG_DISPOSE )
  410.     ROM_LOAD( "c_s4.rom",     0x0000, 0x2000, 0xc9fbbfc9 )
  411.  
  412.     ROM_REGION( 0x0400, REGION_PROMS )
  413.     ROM_LOAD( "tbp24s10.6p",  0x0000, 0x0100, 0xa712d73a )    /* red component */
  414.     ROM_LOAD( "tbp24s10.6s",  0x0100, 0x0100, 0x0a7d48ec )    /* green component */
  415.     ROM_LOAD( "tbp24s10.6m",  0x0200, 0x0100, 0x4c3db907 )    /* blue component */
  416.     ROM_LOAD( "tbp24s10.8n",  0x0300, 0x0100, 0xb5297a3b )    /* ???? */
  417. ROM_END
  418.  
  419. ROM_START( vastar2 )
  420.     ROM_REGION( 0x10000, REGION_CPU1 )    /* 64k for code */
  421.     ROM_LOAD( "3.4f",         0x0000, 0x1000, 0x6741ff9c )
  422.     ROM_LOAD( "6.4k",         0x1000, 0x1000, 0x5027619b )
  423.     ROM_LOAD( "4.4h",         0x2000, 0x1000, 0xfdaa44e6 )
  424.     ROM_LOAD( "7.4l",         0x3000, 0x1000, 0x29bef91c )
  425.     ROM_LOAD( "5.4j",         0x4000, 0x1000, 0xc17c2458 )
  426.     ROM_LOAD( "8.4n",         0x5000, 0x1000, 0x8ca25c37 )
  427.     ROM_LOAD( "10.6n",        0x6000, 0x1000, 0x80df74ba )
  428.     ROM_LOAD( "9.5n",         0x7000, 0x1000, 0x239ec84e )
  429.  
  430.     ROM_REGION( 0x10000, REGION_CPU2 )    /* 64k for the second CPU */
  431.     ROM_LOAD( "e_f2.rom",     0x0000, 0x1000, 0x713478d8 )
  432.     ROM_LOAD( "e_j2.rom",     0x1000, 0x1000, 0xe4535442 )
  433.  
  434.     ROM_REGION( 0x2000, REGION_GFX1 | REGIONFLAG_DISPOSE )
  435.     ROM_LOAD( "c_c9.rom",     0x0000, 0x2000, 0x34f067b6 )
  436.  
  437.     ROM_REGION( 0x4000, REGION_GFX2 | REGIONFLAG_DISPOSE )
  438.     ROM_LOAD( "c_f7.rom",     0x0000, 0x2000, 0xedbf3b13 )
  439.     ROM_LOAD( "c_f9.rom",     0x2000, 0x2000, 0x8f309e22 )
  440.  
  441.     ROM_REGION( 0x2000, REGION_GFX3 | REGIONFLAG_DISPOSE )
  442.     ROM_LOAD( "c_n4.rom",     0x0000, 0x2000, 0xb5f9c866 )
  443.  
  444.     ROM_REGION( 0x2000, REGION_GFX4 | REGIONFLAG_DISPOSE )
  445.     ROM_LOAD( "c_s4.rom",     0x0000, 0x2000, 0xc9fbbfc9 )
  446.  
  447.     ROM_REGION( 0x0400, REGION_PROMS )
  448.     ROM_LOAD( "tbp24s10.6p",  0x0000, 0x0100, 0xa712d73a )    /* red component */
  449.     ROM_LOAD( "tbp24s10.6s",  0x0100, 0x0100, 0x0a7d48ec )    /* green component */
  450.     ROM_LOAD( "tbp24s10.6m",  0x0200, 0x0100, 0x4c3db907 )    /* blue component */
  451.     ROM_LOAD( "tbp24s10.8n",  0x0300, 0x0100, 0xb5297a3b )    /* ???? */
  452. ROM_END
  453.  
  454.  
  455.  
  456. GAMEX( 1983, vastar,  0,      vastar, vastar, 0, ROT90, "Sesame Japan", "Vastar (set 1)", GAME_NO_COCKTAIL )
  457. GAMEX( 1983, vastar2, vastar, vastar, vastar, 0, ROT90, "Sesame Japan", "Vastar (set 2)", GAME_NO_COCKTAIL )
  458.